alter table jms_dwd.dwd_wide_sign_trace_waybill_step_dt
    set tblproperties ('external.table.purge' = 'true');
drop table jms_dwd.dwd_wide_sign_trace_waybill_step_dt;
CREATE EXTERNAL TABLE jms_dwd.dwd_wide_sign_trace_waybill_step_dt(
  `waybill_no` string COMMENT ' 运单号',              
  `first_code` string COMMENT '一段码',               
  `second_code` string COMMENT '二段码',              
  `third_code` string COMMENT '三段码',               
  `four_code` string COMMENT '四段码',                
  `faceorder_pick_network_code` string COMMENT '面单发放网点',  
  `waybill_source_code` string COMMENT '运单来源code',  
  `waybill_source_name` string COMMENT '运单来源名称',   
  `is_void` smallint COMMENT '是否作废件',              
  `pick_network_code` string COMMENT '寄件网点code',   
  `pick_network_name` string COMMENT '寄件网点名称',     
  `input_time` timestamp COMMENT '运单录入时间',         
  `input_network_code` string COMMENT '录入网点code',  
  `settlement_weight` decimal(14,2) COMMENT '结算重量',  
  `order_source_code` string COMMENT '订单来源编码',     
  `is_delete` smallint COMMENT '是否删除，1未删除，2已删除',   
  `ordersource_code` string COMMENT '多平台订单来源编码',   
  `ordersource_name` string COMMENT '多平的订单来源名称',   
  `waybill_weight` double COMMENT '运单重量，单位千克',     
  `package_collect_weight` double COMMENT '收件重量，单位千克',  
  `package_receipt_weight` double COMMENT '入仓重量，单位千克',  
  `package_inside_charge_weight` decimal(14,2) COMMENT '内部计费重量，单位千克',  
  `is_sign` smallint COMMENT '签收标识',               
  `goods_type_id` bigint COMMENT '物品类型id',         
  `goods_type_code` string COMMENT '物品类型code',     
  `goods_type_name` string COMMENT '物品类型名称',       
  `goods_name` string COMMENT '物品名称',              
  `is_abnormal` smallint COMMENT '问题件标识，1是，0否',    
  `abnormal_type` string COMMENT '问题件类型',          
  `transfer_type` tinyint COMMENT '运输类型',          
  `is_sige_delete` tinyint COMMENT '是否签收后删除',
  `is_refund` tinyint COMMENT '是否退回件，1是，0否',       
  `refund_netwok_code` string COMMENT '退件扫描网点',    
  `refund_date` timestamp COMMENT '退件扫描日期',        
  `warehousing_later_scantime` timestamp COMMENT '最晚入仓时间',  
  `warehousing_early_scantime` timestamp COMMENT '最早入仓时间',  
  `warehousing_early_scansitecode` string COMMENT '最早入仓网点',  
  `warehousing_max_weight` double COMMENT '最大入仓重量',  
  `first_network_network_code` string COMMENT '始发网点网点编码',  
  `first_network_loading_later_time` timestamp COMMENT '始发网点最晚装车时间',  
  `first_network_loading_send_shipment_no` string COMMENT ' 始发网点最晚装车发件扫描对应任务号',  
  `first_network_loading_send_planned_departure_time` timestamp COMMENT ' 始发网点最晚装车发件规划发车时间',  
  `first_network_loading_send_planned_arrival_time` timestamp COMMENT ' 始发网点最晚装车发件规划到车时间',  
  `first_network_loading_send_actual_departure_time` timestamp COMMENT ' 始发网点最晚装车发件实际发车时间',  
  `first_network_loading_send_actual_arrival_time` timestamp COMMENT ' 始发网点最晚装车发件实际到车时间',  
  `first_network_loading_send_next_network_code` string COMMENT ' 始发网点最晚装车发件下一站网点编码',  
  `first_network_loading_send_next_network_type` tinyint COMMENT ' 始发网点最晚装车发件下一站网点类型',  
  `first_network_send_later_time` timestamp COMMENT '始发网点最晚发车时间',  
  `bagging_early_scantime` timestamp COMMENT '最早装袋时间',  
  `bagging_early_scansitecode` string COMMENT '最早装袋网点编码',  
  `bagging_early_package_code` string COMMENT '最早装袋包号',  
  `send_station_number` int COMMENT '路段始发站点序列号',
  `send_station_network_code` string COMMENT '路段始发站点',
  `send_station_network_type` tinyint COMMENT '路段始发站点类型',
  `send_center_station_number` int COMMENT '路段始发中心序列号',
  `send_entrepot_station_number` int COMMENT '路段始发集散序列号',
  `send_station_max_weight` double COMMENT '路段始发站点最大扫描重量',
  `send_station_min_weight` double COMMENT '路段始发站点最小扫描重量',
  `send_station_unloading_early_time` timestamp COMMENT '路段始发中心/网点最早卸车时间',
  `send_station_bagging_early_scantime` timestamp COMMENT '路段始发站点最早建包时间',
  `send_station_bagging_lastest_scantime` timestamp COMMENT '路段始发站点最晚建包时间',
  `send_station_send_packagecode` string COMMENT '路段始发站点发件扫描包号',
  `send_station_arrival_packagecode` string COMMENT '路段始发站点到件扫描包号',
  `send_station_arrival_early_time` timestamp COMMENT '路段始发中心/网点最早到件时间',
  `send_station_loading_later_time` timestamp COMMENT '路段始发中心/网点最晚装车时间',
  `send_station_send_later_time` timestamp COMMENT '路段始发中心/网点最晚发件时间',
  `send_station_loading_send_later_shipment_no` string COMMENT '路段始发站点任务号',
  `send_station_loading_send_planned_departure_time` timestamp COMMENT '路段始发站点规划到件时间',
  `send_station_loading_send_actual_departure_time` timestamp COMMENT '路段始发站点实际最晚发车时间',
  `send_station_bagging_packagecode` string COMMENT '路段始发站点建包包号',
  `send_station_unbagging_scantime` timestamp COMMENT '路段始发站点拆包时间',  
  `send_station_send_next_network_code` string COMMENT '路段始发站点发件扫描下一站点',  
  `send_station_loading_next_network_code` string COMMENT '路段始发站点装车扫描下一站点',  
  `send_station_send_next_network_type` string COMMENT '路段始发站点发件扫描下一站点类型',  
  `send_station_loading_next_network_type` string COMMENT '路段始发站点装车扫描下一站点类型',  
  `send_station_send_scan_user` string COMMENT '路段始发站点发件扫描员',  
  `send_station_loading_scan_user` string COMMENT '路段始发站点装车扫描员',  
  `send_station_send_scan_user_code` string COMMENT '路段始发站点发件扫描员CODE',  
  `send_station_loading_scan_user_code` string COMMENT '路段始发站点装车扫描员CODE',  
  `next_station_network_code` string COMMENT '路段目的站点',
  `next_station_network_type` tinyint COMMENT '路段目的站点类型',
  `next_station_unloading_early_time` timestamp COMMENT '路段目的站点最早卸车时间',
  `next_station_arrival_early_time` timestamp COMMENT '路段目的站点最早到件时间',
  `next_station_loading_later_time` timestamp COMMENT '路段目的站点最晚装车时间',
  `next_station_send_later_time` timestamp COMMENT '路段目的站点最晚发件时间',
  `next_station_unloading_arrival_early_shipment_no` string COMMENT '路段目的站点最早卸车到件扫描对应任务号',
  `next_station_unloading_arrival_planned_arrival_time` timestamp COMMENT '路段目的站点最早卸车到件规划到车时间',
  `next_station_unloading_arrival_actual_arrival_time` timestamp COMMENT '路段目的站点最早卸车到件实际到车时间',
  `next_station_max_weight` double COMMENT '路段目的站点最大扫描重量',
  `next_station_min_weight` double COMMENT '路段目的站点最小扫描重量',
  `next_station_number` int COMMENT '路段目的站点序列号',   
  `next_center_station_number` int COMMENT '路段目的中心序列号',  
  `next_entrepot_station_number` int COMMENT '路段目的集散序列号',  
  `next_station_bagging_packagecode` string COMMENT '路段目的站点建包包号',  
  `next_station_bagging_early_scantime` timestamp COMMENT '路段目的站点最早建包时间',  
  `next_station_bagging_lastest_scantime` timestamp COMMENT '路段目的站点最晚建包时间',  
  `next_station_send_packagecode` string COMMENT '路段目的站点发件扫描包号',
  `next_station_arrival_packagecode` string COMMENT '路段目的站点到件扫描包号',  
  `next_station_unbagging_scantime` timestamp COMMENT '路段目的站点拆包时间',  
  `next_station_arrival_pre_network_code` string COMMENT '路段目的站点到件扫描上一站点',  
  `next_station_unloading_pre_network_code` string COMMENT '路段目的站点卸车扫描上一站点',  
  `next_station_arrival_pre_network_type` string COMMENT '路段目的站点到件扫描上一站点类型',  
  `next_station_unloading_pre_network_type` string COMMENT '路段目的站点装卸车扫描上一站点类型',  
  `next_station_arrival_scan_user` string COMMENT '路段目的站点到件扫描员',  
  `next_station_unloading_scan_user` string COMMENT '路段目的站点卸车扫描员',  
  `next_station_arrival_scan_user_code` string COMMENT '路段目的站点到件扫描员CODE',  
  `next_station_unloading_scan_user_code` string COMMENT '路段目的站点卸车扫描员CODE',  
  `end_network_network_code` string COMMENT ' 末端网点',  
  `end_network_min_weight` double COMMENT ' 末端网点最小重量',  
  `end_network_max_weight` double COMMENT ' 末端网点最大重量',  
  `end_network_unloading_early_time` timestamp COMMENT ' 末端网点最早卸车时间',  
  `end_network_arrival_early_time` timestamp COMMENT ' 末端网点最早到件时间',  
  `end_network_unloading_arrival_shipment_no` string COMMENT ' 末端网点最早卸车到件扫描对应任务号',  
  `end_network_unloading_arrival_planned_departure_time` timestamp COMMENT ' 末端网点最早卸车到件规划发车时间',  
  `end_network_unloading_arrival_planned_arrival_time` timestamp COMMENT ' 末端网点最早卸车到件规划到车时间',  
  `end_network_unloading_arrival_actual_departure_time` timestamp COMMENT ' 末端网点最早卸车到件实际发车时间',  
  `end_network_unloading_arrival_actual_arrival_time` timestamp COMMENT ' 末端网点最早卸车到件实际到车时间',  
  `deliver_early_scantime` timestamp COMMENT '最早派件时间',  
  `deliver_later_scantime` timestamp COMMENT '最晚派件时间',  
  `deliver_later_scansitecode` string COMMENT '最晚派件网点',  
  `deliver_max_weight` double COMMENT '派件最大重量',    
  `deliver_later_user` string COMMENT '最晚派件人',     
  `instore_early_scantime` timestamp COMMENT ' 第一次入库时间',  
  `instore_later_scantime` timestamp COMMENT ' 最后一次入库时间',  
  `instore_early_scansitecode` string COMMENT ' 最后一次入库网点',
  `instore_max_weight` double COMMENT ' 入库最大重量',   
  `outstore_early_scantime` timestamp COMMENT '第一次出库时间',  
  `outstore_later_scantime` timestamp COMMENT '最后一次出库时间',  
  `outstore_early_scansitecode` string COMMENT '最后一次出库网点',
  `outstore_max_weight` double COMMENT '出库最大重量',   
  `sign_early_scantime` timestamp COMMENT '第一次签收时间',  
  `sign_later_scantime` timestamp COMMENT '最后一次签收时间',  
  `sign_early_scansitecode` string COMMENT '最后一次签收扫描网点',  
  `sign_max_weight` double COMMENT '签收最大重量',       
  `lastest_scan_time` string COMMENT '运单最晚操作扫描时间',  
  `dispatch_network_id` string COMMENT '派件网点id',   
  `dispatch_network_code` string COMMENT '派件网点code',  
  `dispatch_network_name` string COMMENT '派件网点名称',  
  `pick_network_id` string COMMENT '寄件网点id',       
  `last_update_time` timestamp COMMENT '运单最后更新时间',
  `etl_load_time` string COMMENT'数据装载时间')
PARTITIONED BY (
  `dt` string COMMENT '运单最早签收时间')
STORED AS parquet                              
LOCATION                                           
  '/dw/hive/jms_dwd.db/external/dwd_wide_sign_trace_waybill_step_dt';

 msck repair table jms_dwd.dwd_wide_sign_trace_waybill_step_dt;

alter table jms_dwd.dwd_wide_sign_trace_waybill_step_dt add columns (etl_load_time string COMMENT'数据装载时间') cascade;

alter table jms_dwd.dwd_wide_sign_trace_waybill_step_dt add columns(
  `send_station_unbagging_packagecode` string COMMENT '路段始发站点拆包包号',
  `next_station_unbagging_packagecode` string COMMENT '路段目的站点拆包包号',
  `taking_later_scantime` timestamp COMMENT '最晚揽收时间',
  `taking_early_scantime` timestamp COMMENT '最早揽收时间',
  `taking_early_scansitecode` string COMMENT '最早揽收网点'
)cascade;